import 'weui';
import 'react-weui/build/packages/react-weui.css';
import { Button, Toast } from 'antd-mobile';
import * as umi from 'umi';

const NODE_ENV = process.env.NODE_ENV;

//判断访问终端
var browser = {
  versions: (function () {
    var u = navigator.userAgent,
      app = navigator.appVersion;
    return {
      trident: u.indexOf('Trident') > -1, //IE内核
      presto: u.indexOf('Presto') > -1, //opera内核
      webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
      gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
      mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
      ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
      android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
      iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器
      iPad: u.indexOf('iPad') > -1, //是否iPad
      webApp: u.indexOf('Safari') == -1, //是否web应该程序，没有头部与底部
      weixin: u.indexOf('MicroMessenger') > -1, //是否微信 （2015-01-22新增）
      qq: u.match(/\sQQ/i) == ' qq', //是否QQ
    };
  })(),
  // @ts-ignore
  language: (navigator.browserLanguage || navigator.language).toLowerCase(),
};
// console.log(browser);
// @ts-ignore
window.browser = browser;

if (
  NODE_ENV == 'development' &&
  (browser.versions.android || browser.versions.iPhone)
) {
  const VConsole = require('vconsole');
  const vConsole = new VConsole();
}

if (typeof window !== 'undefined') {
  // 检测我们是否在浏览器环境
  let waitToExit = false;
  window.onpopstate = function (event) {
    // console.log('event', event);
    // console.log(
    //   'location: ' +
    //     document.location +
    //     ', state: ' +
    //     JSON.stringify(event.state),
    // );
    const { state } = event;

    if (state && state.isHomePage) {
      if (waitToExit) {
        // console.log(browser.versions.weixin);
        // 打开网页后需要点击（触摸）屏幕后，history.pushState() 才能生效
        browser.versions.weixin ? wx.closeWindow() : window.history.back();
      } else {
        waitToExit = true;
        Toast.info('再点一次,退出"UMIJS-MYAPP"', 3, () => {
          waitToExit = false;
          history.pushState(state, '');
          history.pushState({ isHomePage: false, page: 2 }, '');
        });
      }
    }
  };
  window.addEventListener('load', function () {
    // 避免二级页面刷新重复执行pushState
    if (history.length !== 1) {
      return;
    }
    window.history.replaceState(
      {
        isHomePage: true,
        page: 0,
      },
      'Default state',
    );
    // 首次进入页面，需要点击（触摸）一次屏幕，触发返回动作时才会触发 onpopstate 事件
    history.pushState({ isHomePage: true, page: 1 }, '');
    history.pushState({ isHomePage: false, page: 2 }, '');
  });
}

function onBridgeReady() {
  // WeixinJSBridge.invoke(
  //   'getBrandWCPayRequest',
  //   {
  //     appId: 'wx2421b1c4370ec43b', //公众号ID，由商户传入
  //     timeStamp: '1395712654', //时间戳，自1970年以来的秒数
  //     nonceStr: 'e61463f8efa94090b1f366cccfbbb444', //随机串
  //     package: 'prepay_id=u802345jgfjsdfgsdg888',
  //     signType: 'MD5', //微信签名方式：
  //     paySign: '70EA570631E4BB79628FBCA90534C63FF7FADD89', //微信签名
  //   },
  //   function (res: any) {
  //     if (res.err_msg == 'get_brand_wcpay_request:ok') {
  //       // 使用以上方式判断前端返回,微信团队郑重提示：
  //       //res.err_msg将在用户支付成功后返回ok，但并不保证它绝对可靠。
  //     }
  //   },
  // );
}
if (typeof WeixinJSBridge == 'undefined') {
  if (document.addEventListener) {
    document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
  } else if (document.attachEvent) {
    document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
    document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
  }
} else {
  onBridgeReady();
}
